An event-driven application is an application that can be executed using an execution environment that relays events between different program components of the application. Some program components may be event generators, some program components may be event listeners, and some program components may be both event listeners and event generators. For instance, an on-screen depiction of a link in a web browser may be created through use of a first program component that defines the size, shape, location, and other visual features of the link. The browser may include a second program component that tracks a cursor position relative to the screen. The appearance of the link may change when the mouse hovers over the link by configuring the first program component to listen for an event generated by the second program component.
Use of event driven frameworks can present coding and other development challenges. For example, in some event-driven applications over forty different events occur when the application is initialized. During debugging and testing, developers may find it difficult to isolate the cause of a desired or unwanted behavior due to the numerous interactions between different event generating and listening components.